#ifndef _KEY_H_
#define _KEY_H_

// Key Pin defining
#define KEY_PORT    GPIOB
#define KEY_MENU    GPIO_PIN_4  // PB4
#define KEY_UP      GPIO_PIN_7  // PB7
#define KEY_DOWN    GPIO_PIN_6  // PB6
#define KEY_ENTER   GPIO_PIN_5  // PB5

// Key press timing control
#define LONG_PRESS   100   // 20ms*100=2s, long press
#define SHORT_PRESS  2     // 20ms*3=60ms, short press
#define MID_PRESS    50    // 20ms*50=1s
#define REPEAT_PRESS 2     // 200ms*3=60ms, repeat pressing

extern void key_init(void);
extern void key_scan(void);
extern void key_test(void);

#endif
